<template>
  <div class="row">
    <!-- 初次使用加载 -->
    <h2 v-show="info.isFirst">欢迎使用！！！</h2>
    <!-- 正在加载中 -->
    <h2 v-show="info.isLoading">正在加载中...</h2>
    <!-- 请求成功数据展示 -->
    <div class="card"
         v-for="user in info.users"
         :key="user.id">
      <a :href="user.html_url"
         target="_blank">
        <img :src="user.avatar_url"
             style='width: 100px' />
      </a>
      <p class="card-text">{{user.login}}</p>
    </div>
    <!-- 请求失败 -->
    <h2 v-show="info.errMsg">{{info.errMsg}}</h2>
  </div>
</template>

<script>
export default {
  name: 'List',
  data () {
    return {
      info: {
        isFirst: true,
        isLoading: false,
        errMsg: '',
        users: []
      }
    }
  },
  mounted () {
    this.$bus.$on('updateListData', (dataObj) => {
      // console.log(users);
      this.info = { ...this.info, ...dataObj }
    })
  },
}
</script>

<style scoped>
h2 {
  margin-left: 2rem;
}
.album {
  min-height: 50rem; /* Can be removed; just added for demo purposes */
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #f7f7f7;
}

.card {
  float: left;
  width: 33.333%;
  padding: 0.75rem;
  margin-bottom: 2rem;
  border: 1px solid #efefef;
  text-align: center;
}

.card > img {
  margin-bottom: 0.75rem;
  border-radius: 100px;
}

.card-text {
  font-size: 85%;
}
</style>